package requests

type CreateUserRequest struct {
	Username string `json:"username" binding:"required,min=3,max=50"`
	Password string `json:"password" binding:"required,min=6,max=64"`
	Status   *int   `json:"status" binding:"omitempty,oneof=0 1"`
}

type UpdateUserRequest struct {
	Password *string `json:"password" binding:"omitempty,min=6,max=64"`
	Status   *int    `json:"status" binding:"omitempty,oneof=0 1"`
}

type ListUsersRequest struct {
	Page     int    `form:"page" binding:"omitempty,min=1"`
	PageSize int    `form:"page_size" binding:"omitempty,min=1,max=500"`
	Status   *int   `form:"status" binding:"omitempty,oneof=0 1"`
	Keyword  string `form:"keyword" binding:"omitempty,max=50"`
	Start    string `form:"start" binding:"omitempty"`
	End      string `form:"end" binding:"omitempty"`
}
